თავი 1. Access 2007-ის ობიექტური მოდელი
მაგალითი – ფორმის თვისებების გამოყენება
მაგალითი 1-ის რეალიზაციის პროგრამა
3. ფორმაზე ერთდროულად ინფორმაცის წარმოსადგენად TextBox-ში და ცხრილის სახით, თვისების Default View მნიშვნელობად შეარჩიეთ Split Form, ხოლო ცხრილის
4. ფორმაზე დატანილი მართვის ელემენტების ქვევით მოსათავსებლად თვისების Split Form Orientation მნიშვნელობად შეარჩიეთ Datasheet on Bottom;
5. ფორმიდან, არსებული, ჩანაწერებს შორის ნავიგაციის ღილაკების მოსახსნელად: Navigation Buttons=No, ამავე დროს ჩანაწერის მონიშვნის ზოლის მოსახსნელად Record Selection=No;
ჩვენს მიერ ზევით ჩამოყალიბებული პირობების შესასრულებლად ფორმის მოდულში დაწერეთ პროგრამები:
Private Sub Form_Load()
’ პროგრამის ინიციალიზაცია ხორციელდება ფორმის ჩატვირთვისას. ფორმასთან დაკავშირებული ცხრილიდან tbstudenti-დან ამორჩევა ცხრილში არსებული ყველა ჩანაწერი ბრძანებით-Refresh
’
Famor.Value = 1 ’გაჩუმებით მოინიშნება ალამი ”ნომერი”
Refresh
FilterOnLoad = False ’გამოთიშულია ფილტრი
Vsek.SetFocus ’კურსორი მოთავსდება შეკითხვის ველში
’
With nomeri ’ველში მონაცემების რედაქტირების აკრძალვა თვისებით Locked = True
.Enabled = True
.Locked = True
End With
’
With gvari
.Enabled = True
.Locked = True
End With
’
With tariri
.Enabled = True
.Locked = True
End With
’
With adgili
.Enabled = True
.Locked = True
End With
End Sub
Private Sub Famor_Click() ’ნებისმიერ ალამზე დაწკაპუნებისას კურსორის მოთავსება შეკითხვის ველში
Me.Vsek.SetFocus
End Sub
Private Sub Rbolo_Click()’ ბოლო ჩანაწერზე გადასვლა
On Error Resume Next
DoCmd.GoToRecord Record:=acLast
End Sub
Private Sub Rnext_Click()’ შემდეგ ჩანაწერზე გადასვლა
On Error Resume Next
DoCmd.GoToRecord Record:=acNext
End Sub
Private Sub Rpirveli_Click()’ პირველ ჩანაწერზე გადასვლა
On Error Resume Next
DoCmd.GoToRecord Record:=acFirst
End Sub
Private Sub Rprevios_Click() ’ წინა ჩანაწერზე გადასვლა
On Error Resume Next
DoCmd.GoToRecord Record:=acPrevious
End Sub
Private Sub Rsek_Click() ’ჩანაწერების ამორჩევა
Select Case Famor.Value
Case 1 ’ამორჩევა ნომრით
Me.FilterOn = True ’ამორჩევის ფილტრის ჩართვა
Me.Filter = " tbstudenti.nomeri = " & Val(Vsek) & ""
’ ყურადღება მიაქციეთ ამორჩევის ჩაწერის სინტაქსს. ფორმის თვისების Filter-ის შემდეგ დაწერილია მიკუთვნების ოპერატორი, შემდეგ ”, შემდეგ-ინტერვალის ნიშანია, შემდეგ -ცხრილის სვეტის სახელი, რომლის შემდეგ მიკუთვნების ოპერატორია და ფორმაზე დატანილი TextBox-ის სახელი Vsek, სადაც შეკითხვა იწერება. შეკითხვის ველი მოთავსებულია კონექტაციის ნიშნებს შორის. შეკითხვის ველში მთელი რიცხვია ჩაწერილი
’
'Me.Filter = " tbstudenti.nomeri >= " & V1 & "" & " And tbstudenti.nomeri <= " & V2 & ""
'amorCeva ori kriteriumiT
'Me.Filter = " tbstudenti.nomeri between " & V1 & "" & " And " & V2 & ""
'Me.Filter = " tbstudenti.gvari Like '" & V1 & "*'" & " And month(tbstudenti.tariri) = " & V2 & ""
Case 2
Me.FilterOn = True
Me.Filter = " tbstudenti.gvari Like '" & Vsek & "*'"
’შეკითხვის ველში სტრიქონის ტიპის მონაცემი-გვარი, მოთავსებულია აპოსტროფებში
Case 3
Me.FilterOn = True
Me.Filter = " month(tbstudenti.tariri) = " & Vsek & ""
’ცხრილში სვეტი tariri თარიღის ტიპია, ამიტომ ვიყენებთ დროისა და თარიღის ფუნქციის თვისებას და ვახორციელებთ თვის გამოყოფას. შეკითხვის ველში თვის ნომერს ვწერთ. მაგ. 1 ან 2 და ა.შ.
Case 4
Me.FilterOn = True
Me.Filter = " tbstudenti.adgili Like '" & Vsek & "*'"
Case 5
’ცხრილში არსებული ყველა ჩანაწერის გამოტანა
Me.FilterOn = False
Me.Refresh
End Select
Me.Vsek = ""
Me.Vsek.SetFocus
End Sub
თუ ამორჩევა ხორციელდება ორი ველით, მაშინ ამორჩევის პირობა შემდეგნაირად ჩაიწერება
Me.Filter = " tbstudenti.nomeri between " & V1 & "" & " And " & V2 & ""
ამორჩეული იქნება ყველა ის სტუდენტი, რომელთა ნომრები მოთავსებულია V1 და V2 ველებში ჩაწერილ მნიშვნელობებს შორის.
მაგალითად: ამორჩეულ იქნეს ყველა სტუდენტი, რომელთა გვარი იწყება ასოების გარკვეული თანმიმდევრობით და დაბადებულნი არიან გარკვეულ თვეს.
Me.Filter = " tbstudenti.gvari Like '" & V1 & "*'" & " And month(tbstudenti.tariri) = " & V2 & ""
თუ ამორჩევა ხორციელდება თარიღით, მაშინ ამორჩევის ინსტრუქცია შემდეგნაირად უნდა დაიწეროს
Me.Filter = " DateValue(tbstudenti.tariri) = ' " & Vsek & " ' "
ველში Vsek ვწერთ თარიღს <დღე><.><თვე><.><წელი> (მაგ. 15.12.09).
ყურადღება! იგულისხმება, რომ Windows-ის თარიღის სისტემური გაწყობაში მითითებულია თარიღის ფორმატი <დღე><.><თვე><.><წელი>
სურ. 1. 5-ზე ნაჩვენებია გვარით ამორჩევის შედეგი. შეკითხვის ველში ლო-ს დაწერის შემდეგ ამორჩეული იქნა ყველა ჩანაწერი, რომელიც იწყება ასოებით ”ლო”.